/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云 - 配置平台 (BlueKing - Configuration System) available.
 * Copyright (C) 2017 Tencent. All rights reserved.
 * Licensed under the MIT License (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://opensource.org/licenses/MIT
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 * We undertake not to change the open source license (MIT license) applicable
 * to the current version of the project delivered to anyone in the future.
 */

package model

import (
	"configcenter/src/common/blog"
	"configcenter/src/common/http/rest"
	"configcenter/src/common/metadata"
)

// CreateModelTables TODO
func (m *modelManager) CreateModelTables(kit *rest.Kit, inputParam metadata.CreateModelTable) error {
	for _, objID := range inputParam.ObjectIDs {
		if err := m.createObjectShardingTables(kit, objID, inputParam.IsMainLine); err != nil {
			blog.ErrorJSON("create module table error. err: %s, objID: %s, rid: %s", err.Error(), objID, kit.Rid)
			return err
		}
	}

	return nil
}

// CreateTableModelTables create table instance table
func (m *modelManager) CreateTableModelTables(kit *rest.Kit, inputParam metadata.CreateModelTable) error {
	for _, objID := range inputParam.ObjectIDs {
		if err := m.createTableObjectShardingTables(kit, objID); err != nil {
			blog.Errorf("create table module error, err: %v, objID: %s, rid: %s", err, objID, kit.Rid)
			return err
		}
	}

	return nil
}
